Skip to content

dgb(#82): regtest-aware daemon softfork readiness gate - #283

Merged
frstrtr merged 1 commit into
masterfrom
dgb/regtest-softfork-gate
Jun 20, 2026
Merged

dgb(#82): regtest-aware daemon softfork readiness gate#283
frstrtr merged 1 commit into
masterfrom
dgb/regtest-softfork-gate

Conversation

@frstrtr

@frstrtr frstrtr commented Jun 20, 2026

Copy link
Copy Markdown
Owner

What

NodeRPC::check (startup readiness gate) relaxes the DGB-specific algo softfork requirements (reservealgo, odo, nversionbips) ONLY when chain==regtest. A regtest digibyted legitimately deploys just csv/segwit/taproot; those three are mainnet/testnet deployments not carried on regtest, so the mainnet-oriented gate could never pass against a regtest daemon.

Why

Unblocks the #82 regtest won-block-reaches-network test (integrator-greenlit). Before this, the armed run-loop spun in a Refusing to start ... Retry after 15 seconds loop and the work source never came up against regtest.

Scope / safety

  • Single file: src/impl/dgb/coin/rpc.cpp. Single-coin, DGB-only.
  • Non-consensus: startup readiness gate, NOT block validation.
  • SSOT PoolConfig::SOFTFORKS_REQUIRED and its KAT untouched; mainnet/testnet keep the full required set.
  • p2pool-merged-v36 surface: none.

Verification (live, regtest)

  • BEFORE: missing required softfork features: nversionbips, odo, reservealgo -> Refusing to start retry loop.
  • AFTER: ...CoindRPC connected!, work source + Stratum up, embedded P2P handshake OK, walk-forward getheaders.
  • build EXIT=0; dgb_share_test 16/16.

HOLD merge — integrator merges with operator push approval.

The startup readiness gate (NodeRPC::check) requires the full SSOT
SOFTFORKS_REQUIRED set {nversionbips,csv,segwit,reservealgo,odo,taproot}.
A regtest digibyted legitimately deploys only csv/segwit/taproot — the
DGB-specific algo softforks (reservealgo, odo) and nversionbips are
mainnet/testnet deployments not carried on regtest. Gating startup on
deployments the connected chain cannot carry made the regtest won-block
path (and CI against regtest) impossible to start, with no consensus
benefit.

Relax ONLY when chain==regtest; mainnet/testnet keep the full SSOT
requirement set unchanged. Non-consensus startup readiness gate only;
the SOFTFORKS_REQUIRED SSOT and its KAT are untouched.

Verified live: armed run-loop against regtest digibyted now clears the
gate (CoindRPC connected; no Refusing-to-start retry loop), work source
+ Stratum stand up, embedded P2P handshake OK. dgb_share_test 16/16.
@frstrtr
frstrtr merged commit e4b247f into master Jun 20, 2026
29 checks passed
frstrtr added a commit that referenced this pull request Jun 23, 2026
dgb(#82): regtest-aware daemon softfork readiness gate
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant